package com.dm.library.widgets.element;

import android.content.Context;
import android.text.InputFilter;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.EditText;

import com.dm.library.utils.FormatUtil;
import com.dm.library.utils.MoneyEditInputFilter;
import com.dm.library.utils.StringUtils;

/**
 * 版 权: 深圳市迪蒙网络科技有限公司
 * 描 述: <自定义edittext>
 * 修 改 人: fengye
 * 修改时间: 2016/12/8
 */

public class DEditText extends EditText implements JudgeNull {

    protected boolean isPasswordShow = false;//密码是否可见

    private Context context;

    public DEditText(Context context) {
        this(context, null);
    }

    public DEditText(Context context, AttributeSet attrs) {
        this(context, attrs, android.R.attr.editTextStyle);
    }

    public DEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this.context = context;
    }

    public boolean isPasswordShow() {
        return isPasswordShow;
    }

    public void setPasswordShow(boolean passwordShow) {
        isPasswordShow = passwordShow;
    }

    /**
     * 检查内容是否为空
     *
     * @param hint
     * @return
     */
    @Override
    public boolean checkNull(String hint) {
        String s = getText().toString();
        if (StringUtils.isEmptyOrNull(s)) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 获取内容,规避了null
     *
     * @return
     */
    public String getContent() {
        String s = getText().toString();
        if (!TextUtils.isEmpty(s)) {
            return s.trim();
        } else {
            return "";
        }
    }

    public boolean isMobileNumber() {
        String conent = getContent();
        boolean ismobile = FormatUtil.isMobileNumber(conent);
        if (ismobile) {
            return true;
        } else {
            return false;
        }
    }


    /**
     * 处理了传入为null的情况
     */
    public void setTextContent(String s) {
        if (!StringUtils.isEmptyOrNull(s)) {
            setText(s);
        } else {
            setText("");
        }
    }


    /***
     * 设置输入金额过滤器
     */
    private void setMoneyEditFilter() {
        setFilters(new InputFilter[]{new MoneyEditInputFilter()});
    }


}
